Previous versions of AppMaker were very customizable in the source code generator. The resource editor, however, was hard-coded. AppMaker 2.0 is customizable and extensible not only in the source code generator but also in its resource generator and in its own user-interface.
Most of AppMaker 2.0's user interface is soft-coded via descriptors that are contained in two files: AppMaker Prefs and AppMaker Interface. The Prefs file describes the kinds of things that you can define in your AppMaker document. The Interface file describes the format in which information is displayed for you to edit.
Both source code and resources are defined by template files. These files are compiled into Language files by the AMCompiler application. AppMaker interprets these Language files along with the Prefs file and your AppMaker document to generate resources and source code.
To open the AppMaker Prefs file, choose Open Prefs from the File menu. To open the AppMaker Interface file, press the Option key, and choose Open Interface from the File menu.
Outline window font and size
--------------------------
The simplest customization you can make is to change the font and size of the text in the outline windows. Open the Interface file (press the Option key, then choose Open Interface from the File menu), twist "Text Styles", then double-click "Outline Views". You'll see a simple dialog that lets you specify the display style for items in outline windows. After you change this style, any new outline windows you open will be displayed in the new style.
Display Tools as Text or as Picture
-------------------------------
You can customize your AppMaker Interface file to display the Tools palette as Text rather than as Picture. Open the Interface file (by choosing Option-Open Prefs as described previously), twist "Dialogs", twist "Tools", select List and choose List Info (or double-click List). In the List Info dialog, choose Text in the flavor popup. Then open the Tools dialog and resize it appropriately for a text list.
Resource file creator
-------------------
Another simple customization is to change the creator type of a generated resource file to be Resorceror or some other resource editor. The default is ResEdit. To change the creator, open your document's Applications category, then select the first instance and choose Open Properties. Choose Add Properties and add the "Resfile Creator" property, then click Done. In the properties window, edit the value of that property and change it to "Doug" for Resorceror. (We added this feature without writing a single line of code inside AppMaker. All we had to do was customize the AppMaker Prefs file and the Language templates. This nicely illustrates AppMaker's customizability.)
Categories
---------
AppMaker's initial window displays a list of "categories". This corresponds to the old Select Menu that displayed items for Menus, Windows, Dialogs, and Alerts. The category list displays these categories and potentially hundreds of others, such as adorners, behaviors, commands, text styles, pictures, and strings. The Add Categories dialog lets you add other pre-defined categories to your main list. You can edit the AppMaker Prefs file to add or change category definitions.
Properties
---------
An instance of a category, e.g. a particular window, is described by a collection of properties. These include Title, Top, Left, Text Style, Adorners, Commands, and many other properties. A particular instance can have hundreds of possible properties, but will usually specify only a few of the available properties. E.g. if a window item doesn't have an adorner, then that property is simply omitted for that item. Use the Add Properties command to add pre-defined properties to an item. Edit the AppMaker Prefs file to define the set of properties for a category.
Create/Edit Info Dialog
---------------------
Each category has an Info dialog for specifying the important properties of an instance of that category. E.g. a dialog has a property that specifies whether the dialog is modal, modeless, or floating. The Info dialog is specified in the AppMaker Interface file. After defining a new category or adding an interesting property to an existing category, you can customize the Info dialog for the category to choose which properties are displayed in its Info dialog. You can then edit that dialog to arrange its items in a pleasing fashion.
Resource generator
-----------------
AppMaker generates both resources and source code from "templates". Previous versions of AppMaker had a template-driven source code generator. In AM 2, the template language is a more complete language. There are statements for building and generating resources as well as for generating source code. Templates for PowerPlant and Procedural C are in the Templates folder. The AMCompiler application compiles these templates into Language files. At Generate time, AppMaker processes a Language file and the user's document to generate a resource file and source code files. You can edit these template files, compile them with AMCompiler, then drag the resultant language file into the Language folder to customize AppMaker's generator.